Information processing apparatus using hierarchical tags for streamlining the presentation of information and non-transitory computer readable medium for the same

ABSTRACT

An information processing apparatus includes a presentation unit that, when each user is assigned at least one tag indicating characteristics of the user and a tag is in common between a viewing user and a viewed user, presents the tag in common of the viewing user in more detail than a tag which is not in common.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based on and claims priority under 35 USC 119 fromJapanese Patent Application No. 2016-170839 filed Sep. 1, 2016.

BACKGROUND Technical Field

The present invention relates to an information processing apparatus anda non-trans computer readable medium.

SUMMARY

According to an aspect of the invention, there provided an informationprocessing apparatus including a presentation unit that, when each useris assigned at least one tag indicating characteristics of the user anda tag is in common between a viewing user and a viewed user, presentsthe tag in common of the viewing user in more detail than a tag which isnot in common.

BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary embodiment of the present invention will be described indetail based on the following figures, wherein:

FIG. 1 is a conceptual module configuration diagram of a configurationexample in this exemplary embodiment;

FIG. 2 is an explanatory diagram illustrating a system configurationexample utilizing this exemplary embodiment;

FIG. 3 is an explanatory table illustrating a data structure example ofa profile table;

FIG. 4 is a flowchart illustrating a processing example according tothis exemplary embodiment;

FIG. 5 is an explanatory table illustrating a data structure example ofa tag classification table;

FIG. 6 is a flowchart illustrating a processing example according tothis exemplary embodiment;

FIG. 7 is an explanatory diagram illustrating a hierarchical structureexample of an organization tag;

FIGS. 8A to 8C are explanatory tables illustrating a data structureexample of a related organization table;

FIG. 9 is flowchart illustrating a processing example according to thisexemplary embodiment;

FIGS. 10A and 10B are explanatory diagrams illustrating a hierarchicalstructure example of a work tag;

FIGS. 11A to 11C are explanatory tables illustrating a data structureexample of a related work table;

FIG. 12 is a flowchart illustrating a processing example according tothis exemplary embodiment;

FIG. 13 is an explanatory table illustrating a data structure example ofa class word table;

FIG. 14 is an explanatory diagram illustrating a hierarchical structureexample of a personal-fact tag;

FIGS. 15A to 15C are explanatory tables illustrating a data structureexample of a related personal-fact table;

FIG. 16 is a flowchart illustrating a processing example according tothis exemplary embodiment;

FIG. 17 is a flowchart illustrating a processing example according tothis exemplary embodiment;

FIG. 18 is a flowchart illustrating a processing example according tothis exemplary embodiment;

FIGS. 19A to 19B2 are explanatory diagrams illustrating a processingexample according to this exemplary embodiment;

FIGS. 20A to 20B2 are explanatory diagrams illustrating a processingexample according to this exemplary embodiment;

FIG. 21 is an explanatory diagram illustrating a processing exampleaccording to this exemplary embodiment;

FIG. 22 is an explanatory table illustrating a data structure example ofan organization and position table; and

FIG. 23 is a block diagram illustrating a hardware configuration exampleof a computer that implements this exemplary embodiment.

DETAILED DESCRIPTION

Exemplary embodiments of the present invention will be described indetail based on the following figures, wherein:

DETAILED DESCRIPTION

First, before describing this exemplary embodiment, the precondition andan information processing apparatus utilizing this exemplary embodimentwill be described. It is to be noted that the description is intended tofacilitate the understanding of this exemplary embodiment.

Display of profiles in, such as SNS has “tag function” that allowscharacteristics (for instance, expertise) of a user to be registeredwith a word. In addition, a function may be provided to highlight a tagwhich is attached by another user. The expertise of users may be viewedat a glance by the tag function. Also, objective evaluation may beobtained by tagging from other users. As a tendency, tags added to usersincrease in number.

However, in related art, only a method of searching with a specifickeyword or of checking the tags sequentially from the top is provided toa viewing user. When the tags added by a user and the tags added byother users increase in number, the screen looks complicated, and it isdifficult to obtain desired information.

When tagging is manually done by a user (including a user himself orherself and other users) for a tag related to organization or work withobjectivity, the tagging varies with individuals, and thus duplication,oversight, or a difference in level of feeling occurs. When there is apossibility that oversight or exaggeration in the tags may occur,sufficient reliability is not fulfilled.

Hereinafter, an example of an exemplary embodiment in order to implementthe present invention based on the drawings will be described.

FIG. 1 is a conceptual module configuration diagram of a configurationexample in this exemplary embodiment. It is to be noted that in general,the module refers to components such as software (computer program) andhardware that are logically separable. Thus, the module in thisexemplary embodiment refers to not only a module in a computer program,but also a module in a hardware configuration. Therefore, in thisexemplary embodiment, description of the following is also provided: acomputer program (a program for causing a computer to executecorresponding steps, a program for causing a computer to function as acorresponding unit, a program for causing a computer to implement acorresponding function) for causing a computer to function as thosemodules, a system and a method. It is to be noted that although,“stores”, “is stored”, and equivalent words to these are used for theconvenience of description, when the exemplary embodiment is a computerprogram, these words mean that “stored in a storage device” or“controlled to store in a storage device”. In addition, although themodule may have one-to-one correspondence with the function, in theimplementation, one module may be constituted by one program, multiplemodules may be constituted by one program, or conversely, one module maybe constituted by multiple programs. In addition, multiple modules maybe executed by one computer, or one module may be executed by multiplecomputers in a distributed or parallel environment. It is to be notedthat one module may include other modules. Also, hereinafter in additionto the case of physical connection, “connection” is used for the case oflogical connection (such as sending and receiving of data, instructionof data, and reference relationship between data). “Predetermined”refers to “determined before target processing is performed”, and isused in the sense that not to mention before start of processingaccording to this exemplary embodiment, even after the start of theprocessing according to this exemplary embodiment, as long as targetprocessing has not been started at a point of time, “predetermined”refers to “determined according to a situation or a state at the pointof time or according to a situation or a state before the point oftime”. When multiple “predetermined values” are present, the values maybe different from each other, or two or more values (not to mentionincluding the case of all the values) may be the same. Also, a statementof “in the case where A, B is performed” is used in the sense that“whether or not A is determined, and in the case where it is determinedthat A, B is performed”. However, the case where determination ofwhether or not A is unnecessary is excluded.

Also, a system or an apparatus may be implemented by one computer,hardware, devices, and others, as well as be constituted by connectingmultiple computers, hardware, devices, and others via a communicationunit such as a network (including one-to-one correspondencecommunication connection). The “apparatus” and the “system” are used assynonymous terms. Not to mention that the “system” does not include asystem nothing more than a man-made social “mechanism” (social system).

For the processing performed by each module, or when multiple pieces ofprocessing are performed in a module, for each piece of processing,target information is read from a storage device, and after theprocessing is performed, a result of the processing is written to thestorage device. Thus, a description of reading from the storage devicebefore processing and writing to the storage device after the processingmay be omitted. It is to be noted that the storage device here mayinclude a hard disk, a random access memory (RAM), an external storagemedium, a storage device via a communication line, and a register in acentral processing unit (CPU).

An information processing apparatus 100 in this exemplary embodimentpresents tags indicating characteristics of users, and as illustrated inthe example of FIG. 1, includes a word extraction module 110, a userrelation determination module 120, a category determination module 130,a tag display processing module 140, a document management module 150, auser management module 160, a group management module 170, a tagmanagement module 180, and a class word management module 190, and isconnected to a user terminal 195.

A user is assigned a tag that indicates characteristics of the user. Thetag is a word that indicates characteristics of the user. The tag isclassified (categorized) into three, which are organization, work(including, for instance, description of work, work-related skills),personal-fact (including, for instance, a hobby, and an interest). The“characteristics” may include the area of activity and the experience ofa target user. The “word” may include a term and a short clause. Ingeneral, a tag (tag group) presented as the introduction of a user isexpressed as a series of short phrases. It is to be noted that the“presentation” includes printing by a printing device such as a printer,and outputting sound to a sound output device such as a speaker, inaddition to displaying on a display device such as a liquid crystaldisplay, and may include a combination of those.

The information processing apparatus 100 is connected to the userterminal 195 via a communication line. It is to be noted that multipleuser terminals 195 may be provided.

The word extraction module 110 is connected to the categorydetermination module 130 and the document management module 150. Theword extraction module 110 extracts a word which may serve as a tag froma document stored in the document management module 150. Specifically, aword is extracted from the title, the text or the like of a document.

The user relation determination module 120 is connected to the tagdisplay processing module 140, the user management module 160, the groupmanagement module 170, and the tag management module 180. The userrelation determination module 120 determines a relation of tags betweenusers.

The category determination module 130 is connected to the wordextraction module 110, the user management module 160, the groupmanagement module 170, the tag management module 180, and the class wordmanagement module 190. The category determination module 130 determinesthe category of a tag.

The tag display processing module 140 is connected to the user relationdetermination module 120 and the tag management module 180. The tagdisplay processing module 140 processes the details of a tag to bedisplayed based on a result processing performed by the user relationdetermination module 120 and the tags stored in the tag managementmodule 180. The details of a tag to be displayed are personalized basedon the information on tags added (set) to a viewing user and a vieweduser. This allows a viewing user to view information desired by theviewing user. For instance, in the case where users belong to the samedivision, the tags are displayed in detail, including the groups towhich the users belong. It is to be noted that a group is located lowerthan its division. Also, any tag other than a product of which both theviewing user and the viewed user are in charge is hidden, and for theproduct both are in charge of, the tags are displayed in detail,including respective parts of which both are in charge. It is to benoted that the parts included in a product are located lower than theproduct.

When a tag is in common between the viewing user and the viewed user,the tag display processing module 140 presents the common tag of theviewed user in detail compared with a tag which is not in common betweenthe users. Here, “common” refers to the case of similar match inaddition to the case of exact match.

The tags indicating characteristics of users are hierarchized. The tagdisplay processing module 140 may present tags in detail by presentingthe common tag, including each tag at a lower level of the hierarchythan the common tag.

In addition, for a tag not in common, the tag display processing module140 may present a tag at a higher level of the hierarchy than the tagnot in common. For instance, a “tag at a higher level” may be the tag atthe highest level of the hierarchy, or may be a tag at the secondhighest level of the hierarchy.

Alternatively, tags may be classified (categorized) into multiple types.In the processing of the tag display processing module 140, whether ornot a tag is common may be determined by comparing the tags belonging tothe same classification. In other words, tags may be divided intocategories, and a method of processing tags may be changed. The concernsof the viewing user may be selected from the categories.

In addition, the classification may include at least organization, andas a tag of a user, an organization to which the user belongs may beadded. It is to be noted that the organization may be hierarchized basedon the inclusion relation between groups.

In addition, the classification may include at least work, and as a tagof a user, a word extracted from a document related to the user (theuser to whom a tag is added) may be added. It is to be noted that thework may be hierarchized utilizing the title and the content of adocument edited by the user for the words present in the tags of theviewed user. For instance, the words in the title may be at the parenthierarchy level, and the words in the content (text) may be at the childhierarchy level. Also, as a document, an object class such as a blog maybe used. In this case, the tags may be hierarchized by analyzing thecontent of and the hierarchy of the object class.

In addition, the classification may include at least personal-fact, andas a tag of a user, a word inputted by the user may be added. It is tobe noted that class words may be prepared in advance from a dictionary,and may be hierarchized. For instance, even when a tag is present in adocument, if the user is not engaged in editing of the document, the tagis not treated as information related to work and may be hierarchized asthe personal-fact.

Also, the tag display processing module 140 may extract an organizationcorresponding to the position of the viewing user. When the organizationcorresponding to the position matches the organization to which theviewed user belongs, the tag display processing module 140 may presentthe tags of the organization in detail.

When the viewing user has a mobile terminal, the tag display processingmodule 140 may identify the position of the user from the mobileterminal, and may present a tag to the mobile terminal. Specifically,when the viewing user is present at the location of a specificorganization, and is viewing a user at the location of the organization,the tag display processing module 140 may present the tags of theorganization in detail using the position information on the mobileterminal.

The document management module 150 is connected to the word extractionmodule 110. The document management module 150 stores documents. Forinstance, the document management module 150 stores a document 1000illustrated in the example of FIGS. 10A and 10B described later.

The user management module 160 is connected to the user relationdetermination module 120 and the category determination module 130.

The user management module 160 records the users who are registered inthe information processing apparatus 100. For instance, the usermanagement module 160 stores a profile table 300 illustrated in theexample of FIG. 3 described later.

The group management module 170 is connected to the user relationdetermination module 120 and the category determination module 130. Thegroup management module 170 records the groups which are registered inthe information processing apparatus 100. For instance, the groupmanagement module 170 stores a root 700, an organization and positiontable 2200 illustrated in the later-described examples of FIG. 7, FIG.22, respectively.

The tag management module 180 is connected to the user relationdetermination module 120, the category determination module 130, and thetag display processing module 140. The tag management module 180 storestags (including added tags). For instance, the tag management module 180stores a tag classification table 500, a related organization table 800,a related work table 1100, and a related personal-fact table 1500illustrated in the later-described examples of FIG. 5, FIGS. 8A to 8C,FIGS. 11A to 11C, FIGS. 15A to 15C, respectively.

The class word management module 190 is connected to the categorydetermination module 130. The class word management module 190 storesclass words for words. For instance, the class word management module190 stores a class word table 1300 illustrated in the later-describedexample of FIG. 13.

The user terminal 195 is connected to the information processingapparatus 100. The user terminal 195 performs registration of adocument, additional editing of a tag, and viewing of a tag.Specifically, the user terminal 195 registers a document in theinformation processing apparatus 100 (the document management module150) according to an operation of a user. Also, a tag is added to theprofile of a user (another user, a user himself or herself) according toan operation of the user or a result of processing (for instance,processing of the word extraction module 110, that accompaniesregistration of a document) performed by the word extraction module 110.The tags in the profile of a user (another user, a user himself orherself) are viewed according to an operation of the user.

FIG. 2 is an explanatory diagram illustrating a system configurationexample utilizing this exemplary embodiment.

The information processing apparatus 100, a user terminal 200A, a userterminal 200B, a user terminal 200C, and a user terminal (mobileterminal) 200D are connected to each other via a communication line 290.The communication lines 290 may be wireless, wired, or a combination ofthese, and may be, for instance, the internet, the intranet ascommunication infrastructure. Also, the function of the informationprocessing apparatus 100 may be implemented as a cloud service.

For instance, the user terminal 200A communicates with the informationprocessing apparatus 100 according to an operation of a user A (viewinguser), logs-in SNS or the like, and presents the profile of another userB (viewed user). As the profile, the photograph and tag of the user arepresented. The tags are hierarchized, and when a tag is in commonbetween the tags of the user A and the tags of the user B, each tag at alower level of the hierarchy than the common tag is presented. Whenthere is no common tag, a tag at the highest level of the tag ispresented. In addition, when the profile of another user B is presentedto the user terminal (mobile terminal) 200D, if the organization at theposition where the user terminal (mobile terminal) 200D is presentmatches the organization of the user B, the tags of the organization arepresented in detail.

Profile information of a user presented in SNS or the like includes, forinstance, the profile table 300. FIG. 3 is an explanatory tableillustrating a data structure example of the profile table 300. Theprofile table 300 has a user ID column 305, a user name column 310, anextension number column 315, a mail address column 320, a divisioncolumn 325, a work location column 330, a number of tags column 335, anda tag ID column 340. In this exemplary embodiment, the user ID column305 stores information (user ID: IDentification) for identifying a useruniquely. The user name column 310 stores the user name of the user. Theextension number column 315 stores the extension number of the user. Themail address column 320 stores the mail address of the user. Thedivision column 325 stores the division of the user. The work locationcolumn 330 stores the work location of the user. The number of tagscolumn 335 stores the number of tags added to the user. In thisexemplary embodiment, the tag ID column 340 stores information (tag ID)for uniquely identifying the tags added to the user. The tag ID column340 stores as many tag IDs as the number in the number of tags column335.

FIG. 4 is a flowchart illustrating a processing example according tothis exemplary embodiment. The flowchart illustrates an example ofaddition and classification processing for a tag.

In step S400, classification processing for the tag is started.

In step S402, it is determined whether or not the tag matches the groupname of an organization, and in the case of matching, the flow proceedsto step S404, otherwise the flow proceeds to step S406.

In step S404, the tag is added to the category of organization, andclassification of the tag is completed (step S499).

In step S406, it is determined whether or not the tag is present in thetitle of a document or in a document, and when the tag is present, theflow proceeds to step S408, otherwise the flow proceeds to step S410.

In step S408, it is determined whether or not the document in which thetag is present is edited by the user to whom the tag is added, and whenthe document is edited by the user, the flow proceeds to step S412,otherwise the flow proceeds to step S410.

In step S410, the tag is added to the category of personal-fact, andclassification of the tag is completed (step S499).

In step S412, the tag is added to the category of work.

In step S499, the classification processing for the tag is completed.

Specifically, the processing as follows is performed.

In step S402, when the tag to be added is present as a group name (YESin step S402), the tag is added to the category of organization (stepS404). When the tag is not present (NO in step S402), it is identifiedwhether or not the tag to be added is included in the title of adocument or in a document (step S406). It is to be noted that the tag tobe added here is a word inputted by a user or a predetermined word, andmay be a tag as the profile of the user himself or herself or a tag asthe profile of the another user.

In step S404, the tag is added to the category of organization. Theprocessing flow for addition to the category of organization tag will bedescribed using FIG. 6.

In step S406, when the tag to be added is included in the title of adocument or in a document (YES in step S406), it is identified whetheror not the document in which the tag is present is edited by the user towhom the tag is added (step S408). When the tag to be added is notincluded in the title of a document or in a document (NO in step S406),the tag is added to the category of personal-fact (step S410).

In step S408, when the user to whom the tag is added has edited thedocument (YES in step S408), the tag is added to the category of work(step S412). When the user has not edited the document (NO in stepS408), the tag is added to the category of personal-fact (step S410).

In step S410, the tag is added to the category of personal-fact. Theprocessing flow for addition to the category of personal-fact tag willbe described using FIG. 12.

In step S412, the tag is added to the category of work. The processingflow for addition to the category of work tag will be described usingFIG. 9.

The tag classification table 500 is generated by the processing exampleillustrated in the example of FIG. 4. FIG. 5 is an explanatory tableillustrating a data structure example of the tag classification table500. The tag classification table 500 includes a tag ID column 505, atag name column 510, a category column 515, and an attribute column 520.The tag ID column 505 stores a tag ID. It is to be noted that the tag IDcolumn 505 may be referred to by the tag ID column 340 of the profiletable 300. The tag name column 510 stores the name (for instance, theword presented as the tag) of the tag. The category column 515 storesthe category to which the tag belongs. In the above-described example,one of the category types of “organization”, “work”, and “personal-fact”is stored in the category column 515. The attribute column 520 storesthe attribute of the tag. For instance, when the category type is work,the attribute corresponds to the document ID or the like of a documentin which the tag is included. In addition, the attribute may be the dateand time (which may be the year, month, date, time, hour, minute,second, under second, or a combination of these) when the tag isgenerated, or the user ID of a user who has inputted the tag.

FIG. 6 is a flowchart illustrating a processing example according tothis exemplary embodiment. The flowchart illustrates a processingexample for addition of a tag in the category type of organization.

In step S600, processing of adding an organization tag is started.

In step S602, information on the group applicable to the tag to be addedis obtained.

In step S604, it is determined whether or not a parent group exists, andwhen a parent group exists, the flow proceeds to step S606, otherwisethe flow proceeds to step S610.

In step S606, it is determined whether or not the tag to be added ispresent as an organization tag, and when present as an organization tag,the flow proceeds to step S608, otherwise the flow proceeds to stepS610.

In step S608, the tag to be added as an organization tag is associatedwith the attribute information on the organization tag in a parentgroup, and the flow proceeds to step S610.

In step S610, it is determined whether or not a child group exists, andwhen a child group is exists, the flow proceeds to step S612, otherwisethe flow proceeds to step S616.

In step S612, it is determined whether or not the tag to be added ispresent as an organization tag, and when present, the flow proceeds tostep S614, otherwise the flow proceeds to step S616.

In step S614, the organization tag of the child group is associated withthe attribute information on the tag to be added, and the flow proceedsto step S616.

In step S616, the tag is added as an organization tag.

In step S699, the processing of adding an organization tag is completed.

Specifically, the processing as follows is performed.

In step S602, group information applicable to the tag to be added isobtained. For instance, as illustrated in the example of FIG. 7, theorganization is hierarchized. FIG. 7 is an explanatory diagramillustrating a hierarchical structure example of an organization tag. Aparent group 705 is located at a lower level of the root 700. A targetgroup 710 is located at a lower level of the parent group 705. A childgroup 715, a child group 720, and a child group 725 are located at alower level of the target group 710. A child group 730 and a child group735 are located at a lower level of the child group 715. This isso-called an organization chart.

In step S604, when a parent group exists (YES in step S604), it isidentified whether or not the parent group is present as an organizationtag (step S606). When not present (NO in step S604), the processingrelated to the parent group is completed, and it is identified whetheror not a child group exists (step S610).

In step S606, when the parent group is present as an organization tag(YES in step S606), the tag to be added as a child organization tagassociated with the attribute information on the organization tag of theparent group (step S608). When not present (NO in step S606), theprocessing related to the parent group is completed, and the flowproceeds to step S610.

In step S608, the tag to be added as a child organization tag isassociated with the attribute information on the organization tag of theparent group. Subsequently, the flow proceeds to step S610.

In step S610, when a child group exists (YES in step S610), it isidentified whether or not the child group is present as an organizationtag (step S612). When not present (NO in step S610), the processingrelated to the child group is completed, and the tag is added as anorganization tag (step S616).

In step S612, when the child group is present as an organization tag(YES in step S612), the organization tag of the child group isassociated with the attribute information on the tag to be added (stepS614), When not present (NO in step S612), the processing related to thechild group is completed, and the flow proceeds to step S616.

In step S614, the organization tag of the child group is associated withthe attribute information on the tag to be added. Subsequently, the flowproceeds to step S616.

In step S616, the tag is added as an organization tag.

At least one of the related organization table 800, a relatedorganization table 820, and a related organization table 840 isgenerated by the processing example illustrated in the example of FIG.6. FIGS. 8A to 8C are explanatory tables illustrating a data structureexample of the related organization table 800 and other tables.

FIG. 8A is an explanatory table illustrating a data structure example ofthe related organization table 800. The related organization table 800illustrates the relationship between a target organization tag and alower level of the hierarchy. The related organization table 800 has anorganization tag column 805 and a child organization tag column 810. Theorganization tag column 805 stores an organization tag. The childorganization tag column 810 stores a child organization tag at a lowerlevel of the hierarchy of the organization tag.

FIG. 8B is an explanatory table illustrating a data structure example ofthe related organization table 820. The related organization table 820illustrates the relationship between a target organization tag and ahigher level of the hierarchy. The related organization table 820 has anorganization tag column 825 and a parent organization tag column 830.The organization tag column 825 stores an organization tag. The parentorganization tag column 830 stores a parent organization tag at a higherlevel of the hierarchy of the organization tag.

FIG. 8C is an explanatory table illustrating a data structure example ofthe related organization table 840. The related organization table 840illustrates the relationship between a target organization tag and lowerand higher levels in the hierarchy. The related organization table 840has an organization tag column 845, a child organization tag column 850,and a parent organization tag column 855. The organization tag column845 stores an organization tag. The child organization tag column 850stores a child organization tag at a lower level of the hierarchy of theorganization tag. The parent organization tag column 855 stores a parentorganization tag at a higher level of the hierarchy of the organizationtag.

FIG. 9 is a flowchart illustrating a processing example according tothis exemplary embodiment. The flowchart illustrates a processingexample for addition of a tag in the category type of work.

In step S900, processing of adding a work tag is started.

In step S902, it is determined whether or not the tag to be added ispresent in the title of a document, and when present, the flow proceedsto step S910, otherwise the flow proceeds to step S904.

In step S904, a word is extracted from the title.

In step S906, it is determined whether or not the tag to be added ispresent as a work tag, and when present, the flow proceeds to step S908,otherwise the flow proceeds to step S916.

In step S908, the tag to be added as a child work tag is associated withthe attribute information on the work tag which is present in the title,and the flow proceeds to step S916.

In stew S910, a word is extracted from the document in which the tag tobe added is present.

In step S912, it is determined whether or not the tag to be added ispresent as a work tag, and when present, the flow proceeds to step S914,otherwise the flow proceeds to step S916.

In step S914, a child work tag which is present in the document isassociated with the attribute information on the tag to be added, andthe flow proceeds to step S916.

In step S916, the tag is added as a work tag.

In step S999, the processing of adding a work tag is completed.

Specifically, the processing as follows is performed.

In step S902, when the tag to be added is present in the title of adocument (YES in step S902), a word is extracted from the document inwhich the tag to be added is present (step S910). When the tag to beadded is not present (NO in step S902), a word is extracted from thetitle (step S904). It is to be noted that the document is related to theuser to whom the tag is added. As described above, examples of documentrelated to the user may include a document which has been edited(including been created) by the user, a document which has been viewedby the user, and a document to which the user has a right to access. Inaddition, examples of document related to the user may include adocument which has been edited, viewed by a member of the group to whichthe user belongs, and a document to which the member has a right toaccess.

In step S904, a word is extracted from the title of the document.

In step S906, when the word extracted in step S904 is present as a worktag (YES in step S906), the tag to be added as a child work tag isassociated with the attribute information on the work tag which ispresent in the title (step S908). When the tag to be added is notpresent (NO in step S906), the tag is not associated with anything, andadded as a work tag (step S916).

In step S908, the tag to be added as a child work tag is associated withthe attribute information on the work tag which is present in the title.Subsequently, the flow proceeds to step S916.

In step S910, a word is extracted from the document (text) in which thetag to be added is present.

In step S912, when the word extracted in step S910 is present as a worktag (YES in step S912), a child work tag which is present in thedocument is associated with the attribute information on the tag to beadded (step S914). When the word is not present (NO in step S912), thetag is not associated with anything, and added as a work tag (stepS916).

In step S914, a child work tag which is present in the document isassociated with the attribute information on the tag to be added.Subsequently, the flow proceeds to step S916.

In step S916, the tag is added as a work tag.

FIGS. 10A and 10B are explanatory diagrams illustrating a hierarchicalstructure example of a work tag. The relationship between the wordsrelated to work document 1000 illustrated in the example of FIG. 10A,and the work tags which are the nodes in the hierarchy illustrated inthe example of FIG. 10B is as described below. It is to be noted thatalthough two hierarchies of the title and the text are targets in theexample of FIG. 9, three or more hierarchies (in this example, threehierarchies: a chapter title 1010, a paragraph title 1020, and a text1030) may be targets as illustrated in the example of FIGS. 10A and 10B.

A work word 1012 in the chapter title 1010 corresponds to a chaptertitle and work tag 1060, a work word 1022 in the paragraph title 1020corresponds to a paragraph title and work tag 1062, a work word 1032 anda work word 1034 in the text 1030 correspond to a text and work tag 1064and a text and a work tag 1066, respectively, a work word 1042 in aparagraph title 1040 corresponds to a paragraph title and work tag 1068,and a work word 1052, a work word 1054, and a work word 1056 in a text1050 correspond to a text and work tag 1070, a to and work tag 1072, anda text and work tag 1074, respectively.

At least one of a related work table 1100, a related work table 1120,and a related work table 1140 is generated by the processing exampleillustrated in the example of FIG. 9. FIGS. 11A to 11C are explanatorytables illustrating a data structure example of the related work table1100.

FIG. 11A is an explanatory diagram illustrating a data structure exampleof the related work table 1100. The related work table 1100 illustratesthe relationship between a target work tag and a lower level of thehierarchy. The related work table 1100 has a work tag column 1105 and achild work tag column 1110. The work tag column 1105 stores a work tag.The child work tag column 1110 stores a child work tag at a lower levelof the hierarchy of the work tag.

FIG. 11B is an explanatory diagram illustrating a data structure exampleof the related work table 1120. The related work table 1120 illustratesthe relationship between a target work tag and a higher level of thehierarchy. The related work table 1120 has a work tag column 1125 and aparent work tag column 1130. The work tag column 1125 stores a work tag.The parent work tag column 1130 stores a parent work tag at a higherlevel of the hierarchy of the work tag.

FIG. 11C is an explanatory diagram illustrating a data structure exampleof the related work table 1140. The related work table 1140 illustratesthe relationship between a target work tag and lower and higher levelsin the hierarchy. The related work table 1140 has a work tag column1145, a child work tag column 1150, and a parent work tag column 1155.The work tag column 1145 stores a work tag. The child work tag column1150 stores a child work tag at a lower level of the hierarchy of thework tag. The parent work tag column 1155 stores a parent work tag at ahigher level of the hierarchy of the work tag.

FIG. 12 is a flowchart illustrating a processing example according tothis exemplary embodiment. The flowchart illustrates a processingexample for addition of a tag in the category type of personal-fact.

In step S1200, processing of adding a personal-fact tag is started.

In step S1202, a class word of the tag to be added is obtained.

In step S1204, it is determined whether or not a class word in a broaderclassification is present, and when present, the flow proceeds to stepS1206, otherwise the flow proceeds to step S1210.

In step S1206, it is determined whether or not the class word is presentas a personal-fact tag, when present, the flow proceeds to step S1208,otherwise the flow proceeds to step S1210.

In step S1208, the tag to be added as a child personal-fact tag isassociated with the attribute information on the personal-fact tag in abroader classification, and the flow proceeds to step S1210.

In step S1210, it is determined whether or not a class word in a smallerclassification is present, when present, the flow proceeds to stepS1212, otherwise the flow proceeds to step S1216.

In step S1212, it is determined whether or not the class word is presentas a personal-fact tag, when present, the flow proceeds to step S1214,otherwise the flow proceeds to step S1216.

In step S1214, the personal-fact tag in a smaller classification isassociated with the attribute information on the tag to be added, andthe flow proceeds S1216.

In step S1216, the tag is added as a personal-fact tag.

In step S1299, the processing of adding a personal-fact tag iscompleted.

Specifically, the processing as follows is performed.

In step S1202, a class word of the tag to be added is obtained. Forinstance, a class word is obtained from the class word table 1300. FIG.13 is an explanatory table illustrating a data structure example of theclass word table 1300. The class word table 1300 has a tag column 1305and a class word column 1310. The tag column 1305 stores a tag. Theclass word column 1310 stores a class word of the tag (word).

In step S1204, when a class word in a broader classification is presentfor a target tag or a class word of the tag (YES in step S1204), it isidentified whether or not a class word in a broader classification ispresent as a personal-fact tag (step S1206). When the class word is notpresent (NO in step S1204), the processing related to the class word ina broader classification is completed, and it is identified whether aclass word in a smaller classification is present (step S1210).

As illustrated in the example of FIG. 14, a hierarchical relationshipexists between tags (or class words). FIG. 14 is an explanatory diagramillustrating a hierarchical structure example of a personal-fact tag. Atarget personal-fact tag 1410 is located at a lower level of a broaderclassification tag 1405, and a smaller classification tag 1415 islocated at a lower level of the target personal-fact tag 1410.

In step S1206, when a class word in a broader classification is presentas a personal-fact tag (YES in step S1206), the tag to be added as achild personal-fact tag is associated with the attribute information onthe personal-fact tag in a broader classification (step S1208). When theclass word is not present (NO in step S1206), the processing related tothe class word in a broader classification is completed, and the flowproceeds to step S1210.

In step S1208, the tag to be added as a child personal-fact tag isassociated with the attribute information on the personal-fact tag in abroader classification.

In step S1210, when a class word in a smaller classification is present(YES in step S1210), it is identified whether or not a class word in asmaller classification is present as a personal-fact tag (step S1212).When the class word is not present (NO in step S1210), the processingrelated to the class word in a smaller classification is completed, andthe tag is added as a personal-fact tag (step S1216).

In step S1212, when a class word in a smaller classification is presentas a personal-fact tag (YES in step S1212), the personal-fact tag in asmaller classification is associated with the attribute information onthe tag to be added (step S1214). When the class word is not present (NOin step S1212), the processing related to the class word in a smallerclassification is completed, and the flow proceeds to step S1216.

In step S1214, the personal-fact tag in a smaller classification isassociated with the attribute information on the tag to be added.

In step S1216, the tag is added as a personal-fact tag.

At least one of the related personal-fact table 1500, a relatedpersonal-fact table 1520, and a related personal-fact table 1540 isgenerated by the processing example illustrated in the example of FIG.12. FIGS. 15A to 15C are explanatory tables illustrating a datastructure example of the related personal-fact table 1500.

FIG. 15A is an explanatory diagram illustrating a data structure exampleof the related personal-fact table 1500. The related work table 1500illustrates the relationship between a target personal-fact tag and ahigher level of the hierarchy. The related personal-fact table 1500 hasa personal-fact tag column 1505 and a broader classification tag column1510. The personal-fact tag column 1505 stores a personal-fact tag. Thebroader classification tag column 1510 stores a broader classificationtag at a higher level of the hierarchy of the personal-fact tag.

FIG. 15B is an explanatory diagram illustrating a data structure exampleof the related personal-fact table 1520. The related personal-fact table1520 illustrates the relationship between a target personal-fact tag anda lower level of the hierarchy. The related personal-fact table 1520 hasa personal-fact tag column 1525 and a smaller classification tag column1530. The personal-fact tag column 1525 stores a personal-fact tag. Thesmaller classification tag column 1530 stores a smaller classificationtag at a lower level of the hierarchy of the personal-fact tag.

FIG. 15C is an explanatory diagram illustrating a data structure exampleof the related personal-fact table 1540. The related personal-fact table1540 illustrates the relationship between a target personal-fact tag andlower and higher levels in the hierarchy. The related personal-facttable 1540 has a personal-fact tag column 1545, a broader classificationtag column 1550, and a smaller classification tag column 1555. Thepersonal-fact tag column 1545 stores a personal-fact tag. The broaderclassification tag column 1550 stores a broader classification tag at ahigher level of the hierarchy of the personal-fact tag. The smallerclassification tag column 1555 stores a smaller classification tag at alower level of the hierarchy of the personal-fact tag.

FIG. 16 is a flowchart illustrating a processing example according tothis exemplary embodiment (tag display processing module 140). Theflowchart illustrates a processing example of display processing fororganization tags.

In step S1600, a display processing flow for organization tags isstarted.

In step S1602, an organization tag of a viewing user is obtained.

In step S1604, an organization tag of a viewed user is obtained.

In step S1606, it is determined whether or not the same organization tagis present, and when present, the flow proceeds to step S1614, otherwisethe flow proceeds to step S1608.

In step S1608, the uppermost tag of the organization tags registered forthe viewed user is set at the start point of display of the organizationtags.

In step S1610, the tags are hierarchically organized by tracing downchild organization tags from the uppermost tag registered for the vieweduser.

In step S1612, nothing is displayed (everything is hidden), and thedisplay processing flow for organization tags is completed (step S1699).

In step S1614, the same organization tag is set at the start point ofdisplay of the organization tags.

In step S1616, the tags are hierarchically organized by tracing downchild organization tags of a viewed user from the same organization tag.

In step S1618, all tags are displayed from the same organization tag tothe child organization tags.

In step S1699, the display processing flow for organization tags iscompleted.

Specifically, the processing as follows is performed.

In step S1602, an organization tag of a viewing user is obtained.

In step S1604, an organization tag of a viewed user is obtained.

In step S1606, when the same organization tag is present between theviewing user and the viewed user (YES in step S1606), the sameorganization tag is set at the start point of display of theorganization tags (step S1614). When the same organization tag is notpresent (NO in step S1606), the uppermost tag of the organization tagsregistered for the viewed user is set at the start point of display ofthe organization tags (step S1608).

In step S1608, the uppermost tag of the organization tags registered forthe viewed user is set at the start point of display of the organizationtags.

In step S1610, the tags are hierarchically organized by tracing downchild organization tags from the uppermost tag registered for the vieweduser.

In step S1612, nothing is displayed (everything is hidden). It is to benoted that tags at a higher level of the hierarchy (for instance, theuppermost (root), the second hierarchies) may be displayed rather thannothing is displayed.

In step S1614, the same organization tag is set at the start point ofdisplay of the organization tags.

In step S1616, the tags are hierarchically organized by tracing downchild organization tags of the viewed user from the same organizationtag.

In step S1618, the tags are displayed in detailed from the start pointof display of the organization tags. In other words, the tags aredisplayed from same organization tag to the child organization tags. Itis to be noted that the range of organization tags to be displayed maybe the tags at all lower levels of the hierarchy, may be the tags in onehierarchy, may be the tags in two hierarchies, or may be determinedaccording to a hierarchical instruction from the viewing user.

FIG. 17 is a flowchart illustrating a processing example according tothis exemplary embodiment (tag display processing module 140). Theflowchart illustrates a processing example of display processing forwork tags.

In step S1700, display processing for work tags is started.

In step S1702, a work tag of a viewing user is obtained.

In step S1704, a work tag of a viewed user is obtained.

In step S1706, it is determined whether or not the same work tag ispresent, and when present, the flow proceeds to step S1714, otherwisethe flow proceeds to step S1708.

In step S1708, each uppermost tag of the work tags registered for theviewed user is set at the start point of display of the work tags.

In step S1710, the tags are hierarchically organized by tracing downchild work tags from each uppermost tag registered for the viewed user.

In step S1712, nothing is displayed (everything is hidden), and thedisplay processing flow for work tags is completed (step S1799).

In step S1714, the same work tag is set at the start point of display ofthe work tags.

In step S1716, the tags are hierarchically organized tracing down childwork tags of the viewed user from the same work tag.

In step S1718, all tags are displayed from the same work tag to thechild work tags.

In step S1799, the display processing for work tags is completed.

Specifically, the processing as follows is performed.

In step S1702, a work tag of a viewing user is obtained.

In step S1704, a work tag of a viewed user is obtained.

In step S1606, when the same work tag is present between the viewinguser and the viewed user (YES in step S1706), the same work tag is setat the start point of display of the work tags (step S1714). When thesame work tag is not present (NO in step S1706), each uppermost tag ofthe work tags registered for the viewed user is set at the start pointof display of the work tags (step S1708). It is to be noted thatalthough organization has one start point, work may have multiple startpoints.

In step S1708, each uppermost tag of the work tags registered for theviewed user is set at the start point of display of the work tags.

In step S1710, the tags are hierarchically organized by tracing downchild work tags from each uppermost tag registered for the viewed user.

In step S1712, nothing is displayed (everything is hidden). It is to benoted that tags at a higher level of the hierarchy (for instance, theuppermost (root), the second hierarchies) may be displayed rather thannothing is displayed.

In step S1714, the same work tag is set at the start point of display ofthe work tags.

In step S1716, the tags are hierarchically organized by tracing downchild work tags of the viewed user from the same work tag.

In step S1718, the tags are displayed in detailed from the start pointof display of the work tags. In other words, the tags are displayed fromsame work tag to the child work tags. It is to be noted that the rangeof work tags to be displayed may be the tags at all lower levels of thehierarchy, may be the tags in one hierarchy, may be the tags in twohierarchies, or may be determined according to a hierarchicalinstruction from the viewing user.

FIG. 18 is a flowchart illustrating a processing example according tothis exemplary embodiment (tag display processing module 140). Theflowchart illustrates a processing example of display processing forpersonal-fact tags.

In step S1800, display processing for personal-fact tags is started.

In step S1802, a personal-fact tag of a viewing user is obtained.

In step S1804, a personal-fact tag of a viewed user is obtained.

In step S1806, it is determined whether or not the same personal-facttag is present, and when present, the flow proceeds to step S1814,otherwise the flow proceeds to step S1808.

In step S1808, the uppermost tag of the personal-fact tags registeredfor the viewed user is obtained.

In step S1810, the tags are hierarchically organized by tracing downchild personal-fact tags from each uppermost tag registered for theviewed user.

In step S1812, nothing is displayed (everything is hidden), and thedisplay processing flow for personal-fact tags is completed (stepS1899). It is to be noted that tags at a higher level of the hierarchy(for instance, the uppermost (root), the second hierarchies) may bedisplayed rather than nothing is displayed.

In step S1814, the same personal-fact tag is set at the start point ofdisplay of the personal-fact tags.

In step S1816, the tags are hierarchically organized by tracing downchild personal-fact tags of the viewed user from the same personal-facttag.

In step S1818, all tags are displayed from the same personal-fact tag tothe child personal-fact tags. It is to be noted that the range ofpersonal-fact tags to be displayed may be the tags at all lower levelsof the hierarchy, may be the tags in one hierarchy, may be the tags intwo hierarchies, or may be determined according to a hierarchicalinstruction from the viewing user.

In step S1899, the display processing for personal-fact tags iscompleted.

Specifically, the processing as follows is performed.

In step S1802, a personal-fact tag of a viewing user is obtained.

In step S1804, a personal-fact tag of a viewed user is obtained.

In step S1806, when the same personal-fact tag present between theviewing user and the viewed user (YES in step S1806), the samepersonal-fact tag is set at the start point of display of thepersonal-fact tags (step S1814). When the same personal-fact tag is notpresent (NO in step S1806), each uppermost tag of the personal-fact tagsregistered for the viewed user is set at the start point of display ofthe personal-fact tags (step S1808). It is to be noted that althoughorganization has one start point, personal-fact may have multiple startpoints.

In step S1808, each uppermost tag of the personal-fact tags registeredfor the viewed user is set at the start point of display of thepersonal-fact tags.

In step S1810, the tags are hierarchically organized by tracing downchild personal-fact tags from each uppermost tag registered for theviewed user.

In step S1812, nothing is displayed (everything hidden). It is to benoted that tags at a higher level of the hierarchy (for instance, theuppermost (root), the second hierarchies) may be displayed rather thannothing is displayed.

In step S1814, the same personal-fact tag is set at the start point ofdisplay of the personal-fact tags.

In step S1816, the tags are hierarchically organized by tracing downchild personal-fact tags of the viewed user from the same personal-facttag.

In step S1818, the tags are displayed in detailed from the start pointof display of the personal-fact tags. In other words, the tags aredisplayed from same personal-fact tag to the personal-fact work tags. Itis to be noted that the range of personal-fact tags to be displayed maybe the tags at all lower levels of the hierarchy, may be the tags in onehierarchy, may be the tags in two hierarchies, or may be determinedaccording to a hierarchical instruction from the viewing user.

FIGS. 19A to 19B2 are explanatory diagrams illustrating a processingexample according to this exemplary embodiment. The explanatory diagramsillustrate a presentation example of organization tags. FIGS. 19A to19B2 illustrate an example of a profile display screen 1900 for “FujiTaro”. The profile display screen 1900 displays a tag display area 1910.

FIG. 19A illustrates a tag display area 1910A in the case of a viewinguser A (a user not “Fuji Taro”) who belongs to the organization “Tokyometropolitan area sales department” of the company. The tag display area1910A displays, for instance, “Tokyo metropolitan area sales department”as the organization tag, “group A” at its lower level of the hierarchy,and “major company service team” at a further lower level of thehierarchy. In other words, the viewing user and the viewed user havecommon tags up to “Tokyo metropolitan area sales department”, and thusthe division at a lower level of Tokyo metropolitan area salesdepartment is displayed in detail. It is to be noted that nothing isdisplayed as a work tag, and nothing is also displayed as apersonal-fact tag.

FIG. 19B1 illustrates an example of a profile display screen 1900B inthe case of a viewing user B of an affiliated company. A tag displayarea 1910B displays nothing as the organization tag, and also displaysnothing as the work tag, and the personal-fact tag. In short, sincenothing is no common in the organization (because the companies aredifferent), the tag display area 1910B displays tags in non-expandedform.

Here, when “organization” is clicked by the user B, illustrated theexample of FIG. 19B2, the organization tag is expanded. The tag displayarea 1910B displays, for instance, “ABC corporation” as the organizationtag, “sales department” at the next lower level of the hierarchy, “Tokyometropolitan area sales department” at the next lower level, “group A”at the next lower level, and “major company service team” at the nextlower level. In contrast to the case of the viewing user A illustratedin the example of FIG. 19A, the tags are displayed from the uppermostorganization tag (“ABC corporation” in the example).

FIGS. 20A to 20B2 presents explanatory diagrams illustrating aprocessing example according to this exemplary embodiment. Theexplanatory diagrams illustrate a presentation example of work tags.FIGS. 20A to 20B2 illustrate an example of a profile display screen 2000of “Yokohama Taro”. The profile display screen 2000 displays a tagdisplay area 2010.

FIG. 20A illustrates an example of a tag display area 2010A in the caseof a viewing user C (a user not “Yokohama Taro”) who is in charge of ABCsystem product line of the sales department. The tag display area 2010Adisplays, for instance, “ABC system” as the work tag, “authenticationfunction” at the next lower level, “single sign-on” at the next lowerlevel, “LDAP” at the next lower level, “AD” at the next lower level,“order function” at the next lower level of “ABC system”, “DataBase” atthe next lower level, “ABC system cooperative registration plug-in” atthe next lower level of “ABC system”, “authentication function” at thenext lower level, and “registration function” at the next lower level of“ABC system cooperative registration plug-in”. In short, since the userC and the viewed user are in charge of a common product line, the ABCsystem product line and functions of which each user is in charge aredisplayed in detail. It is to be noted that nothing is displayed as anorganization tag, and nothing is also displayed as a personal-fact tag.

FIG. 20B1 illustrates an example of a profile display screen 2000B inthe case of a viewing user D who is in charge of DEF system product lineof the sales department. A tag display area 2010B displays nothing asthe work tag, and also displays nothing as the organization tag, and thepersonal-fact tag. In short, since nothing is no common in the work, tagdisplay area 2010B displays tags in non-expanded form.

Here, when “work” is clicked by the user D, as illustrated in theexample of FIG. 20B2, the work tag is expanded. The tag display area2010B displays, for instance, “software”, “ABC system”, “ABC systemcooperative registration plug-in”, “middleware”, and “XYZ platform” asthe work tags. In contrast to the case of the viewing user C illustratedin the example of FIG. 20A, each work tag at the uppermost level of thehierarchy is displayed.

FIG. 21 is an explanatory diagram illustrating a processing exampleaccording to this exemplary embodiment. The explanatory diagramillustrates a presentation example when a user E who views personal-facttags has the user terminal (mobile terminal) 200D. FIG. 21 illustratesan example of a profile display screen 2100 for “Yokohama Taro”. Theprofile display screen 2100 displays a tag display area 2110.

It is assumed that a user E in charge of sales and ABC system productline is going to have a project meeting with the user “Yokohama Taro” ina development department. In order to run the meeting smoothly, the userE recognizes the personality of the participating member from theprofile, and tries to find a common subject to establish friendlyrelations toward the future.

The tags of the user E in charge of sales and the viewed user “YokohamaTaro”, a member of the development department are categorized intoorganization, work, and personal-fact in advance and thus arehierarchized.

Although the user E in charge of sales and the viewed user have nothingin common in the organization, the meeting place is at the base site ofthe development department, and so the organization is also displayed indetail. Specifically, since the profile display screen 2100 is displayedby the user terminal (mobile terminal) 200D owned by the user E, anorganization corresponding to the position (for instance, the latitude,the longitude) of the user terminal (mobile terminal) 200D is extractedfrom the organization and position table 2200. FIG. 22 is an explanatorytable illustrating a data structure example of the organization andposition table 200. The organization and position table 2200 has anorganization column 2205 and a position column 2210. The organizationcolumn 2205 stores an organization. The position column 2210 stores theposition (for instance, the latitude, the longitude) of the base site ofthe organization. As described above, the position of the user E is atthe base site of the development department, and the viewed user alsobelongs to the development department, and thus the tags of theorganization are displayed in detail. The tag display area 2110displays, for instance, “software development department” as theorganization tag, “core system development group” at the next lowerlevel, and “32th team” at the next lower level.

Since a common product line in charge is present between the work tags,the common portion is displayed.

Similarly, since a common personal-fact (hobby) is present between thepersonal-fact tags, the common portion is displayed in detail. The tagdisplay area 2110 displays, for instance, “fishing” as the personal-facttag, “bass fishing” at the next lower level, “offshore fishing” at thenext lower level of “fishing”, “baseball”, and “Yokohama Giants” at thenext lower level.

It is to be noted that the hardware configuration of a computer thatexecutes a program as the exemplary embodiment is a general computer asillustrated in FIG. 23, and specifically, a personal computer, or acomputer that may function as a server. As specific examples, a CPU 2301is used as a processing unit (calculation unit), and a RAM 2302, a ROM2303, and a HD 2304 are used as storage devices. As the HD 2304, forinstance, a hard disk or a solid state drive (SSD) may be used. Thehardware configuration includes the CPU 2301 that executes a programsuch as the word extraction module 110, the user relation determinationmodule 120, the category determination module 130, and the tag displayprocessing module 140; the RAM 2302 that stores the program and data;the ROM 2303 that stores a program for starting-up the computer; the HD2304 that is an auxiliary storage device (may be a flash memory) havingfunctions of the document management module 150, the user managementmodule 160, the group management module 170, the tag management module180, and the class word management module 190; a receiving device 2306that receives data according to a user operation on a keyboard, a mouse,a touch screen, a microphone and the like; an output device 2305 such asCRT, a liquid crystal display, and a speaker; a communication lineinterface 2307 for connecting to a communication network such as anetwork interface card; and a bus 2308 for connecting those componentsto exchange data. Multiple pieces of the computer may be connected via anetwork.

In an aspect of the above-described embodiment, implemented by acomputer program, a computer program that is software is read by thesystem in this hardware configuration, and software and hardwareresources are used cooperatively to implement the aspect of theabove-described exemplary embodiment.

It is to be noted that the hardware configuration illustrated in FIG. 23only presents one configuration example, and this exemplary embodimentis not limited to the configuration illustrated in FIG. 23, and may havea configuration that allows the modules described in this exemplaryembodiment to be executed. For instance, part of the modules may beformed of dedicated hardware (for instance, an application specificintegrated circuit (ASIC)), part of the modules may be in an externalsystem and be connected via a communication line, or multiple systems,each of which is the system illustrated in FIG. 23, may be connected toeach other via a communication line and may operate in a cooperativemanner. In particular, the hardware configuration may be incorporatedinto a mobile information communication device including a mobile phone,a smartphone, a mobile device, and a wearable computer), an informationappliance, a robot, a copier, a facsimile, a scanner, a printer, or amultifunctional device (an image processing device having at least twofunctions of a scanner, a printer, a copier, and a facsimile) inaddition to a personal computer.

It is to be noted that the program described above may be stored in arecording medium and provided, or the program may be provided by acommunication unit. In this case, for instance, the program describedabove may be regarded as an invention of a “computer-readable recordingmedium on which a program is recorded”.

The “computer-readable recording medium on which a program is recorded”refers to a computer-readable recording medium on which a program isrecorded that is used for installation, execution of programs anddistribution of programs.

It is to be noted that the recording medium includes, for instance,“DVD-R, DVD-RW, DVD-RAM etc.” which are digital versatile discs (DVD)and standards formulated by the DVD Forum, “DVD+R, DVD+RW etc.” whichare standards formulated by DVD+RW, compact discs (CD) such as aread-only memory (CD-ROM), a CD recordable (CD-R), and a CD rewritable(CD-RW), a Blu-ray (registered trademark) Disc, a magneto-optical disc(MO), a flexible disk (FD), a magnetic tape, a hard disk, read-onlymemory (ROM), an electrically erasable programmable read-only memory(EEPROM (registered trademark)), a flash memory, a random access memory(RAM), and a secure digital (SD) memory card.

All or part of the program may be recorded on the recording medium andmay be saved and distributed. Also, all or part of the program may betransmitted by communication using a wired network or a wirelesscommunication network used, for instance, for a local area network(LAN), a metropolitan area network (MAN), a wide area network (WAN), theInternet, Intranet, Extranet, or using a transmission medium incombination of those above, or may be transmitted on a carrier wave.

In addition, the program may be part or all of another program, or maybe recorded on a recording medium along with a separate program.Alternatively, the program may be divided and recorded into multiplerecording media. The program may be recorded in any manner such ascompressed or encrypted from as long as the program can be restored.

The foregoing description of the exemplary embodiment of the presentinvention has been provided for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit theinvention to the precise forms disclosed. Obviously, many modificationsand variations will be apparent to practitioners skilled in the art. Theembodiment was chosen and described in order to best explain theprinciples of the invention and its practical applications, therebyenabling others skilled in the art to understand the invention forvarious embodiments and with the various modifications as are suited tothe particular use contemplated. It is intended that the scope of theinvention be defined by the following claims and their equivalents.

What is claimed is:
 1. An information processing apparatus comprising: acentral processing unit configured to: in response to a first userselecting to view a profile of a second user, determining whether atleast one tag of a first hierarchy of tags indicating characteristics ofthe first user with at least one tag of a second hierarchy of tagsindicating characteristics of the second user is in common between thefirst user and the second user; in response to determining that a tag isin common between the first user and the second user, displaying, on adisplay with information identifying the second user, the tag of thesecond user in common between the first user and the second user anddetails of the second hierarchy below the tag that is in common betweenthe first user and the second user; and in response to determining thata tag is not in common between the first user and the second user,displaying, on the display with the information identifying the seconduser, only a category of the characteristics of the second hierarchywithout displaying any of the tags of the second hierarchy.
 2. Theinformation processing apparatus according to claim 1, wherein thecentral processing unit is further configured to: display details of thesecond hierarchy below the tag that is in common between the first userand the second user by also displaying a tag at a lower level of thesecond hierarchy than the tag in common.
 3. The information processingapparatus according to claim 1, wherein the at least one tag includes aplurality of tags classified into a plurality of types, and whether ornot a tag is common is determined by comparing tags belonging to a sameclassification.
 4. The information processing apparatus according toclaim 3, wherein the classification includes at least an organization,and as a tag of a user, an organization to which the user belongs isassigned to the user.
 5. The information processing apparatus accordingto claim 3, wherein the classification includes at least a job, and as atag of a user, a word extracted from a document related to the user isassigned to the user.
 6. The information processing apparatus accordingto claim 3, wherein the classification includes at least a personalfact, and as a tag of a user, a word inputted by the user is assigned tothe user.
 7. The information processing apparatus according to claim 1,wherein the central processing unit is further configured to: extract anorganization corresponding to a position of the first user, wherein whenthe organization extracted matches an organization to which the seconduser belongs, the central processing unit presents a tag of theorganization in detail.
 8. The information processing apparatusaccording to claim 7, wherein the first user has a mobile terminal, thecentral processing unit identifies a position of the first user from themobile terminal, and the central processing unit presents a tag to themobile terminal.
 9. A non-transitory computer readable medium storing aprogram causing a computer to function as a presentation unit that: inresponse to a first user selecting to view a profile of a second user,determining whether at least one tag of a first hierarchy of tagsindicating characteristics of the first user with at least one tag of asecond hierarchy of tags indicating characteristics of the second useris in common between the first user and the second user; in response todetermining that a tag is in common between the first user and thesecond user, displaying, on a display with information identifying thesecond user, the tag of the second user in common between the first userand the second user and details of the second hierarchy below the tagthat is in common between the first user and the second user; and inresponse to determining that a tag is not in common between the firstuser and the second user, displaying, on the display with theinformation identifying the second user, only a category of thecharacteristics of the second hierarchy without displaying any of thetags of the second hierarchy.